#ifndef TEST_GRAPHICS_TEST_H
#	define TEST_GRAPHICS_TEST_H

namespace dw {
	namespace test {

class Test
{
public : //! @name Construction & Destruction
	//! @{
	Test(const std::string& name) : m_name(name) { ; }
	virtual ~Test() { ; }
	//! @}

public : //! @name Commands
	//! @{
	virtual bool setup()
	{
		dwLogInform("Test %s::setup\n", m_name.c_str());

		return true;
	}

	virtual bool run()
	{
		dwLogInform("Test %s::run\n", m_name.c_str());

		return true;
	}

	virtual bool teardown()
	{
		dwLogInform("Test %s::teardown\n", m_name.c_str());

		return true;
	}
	//! @}

public : //! @name State
	//! @{
	const std::string& getName() const { return m_name; }
	//! @}

private : //! @name Data
	//! @{
	const std::string m_name;
	//! @}
};

	} // namespace test
} // namespace dw

#endif // !TEST_GRAPHICS_TEST_H
